
<%@page import="java.util.Vector"%>
<%@ page import="tmanager.*" import="java.sql.*" %>
<%@ include file="/WEB-INF/sql.jsp" %>

<% if(session.getAttribute("tmanager.professore") == null){
      response.sendRedirect("../index.jsp");
      return;
   }

   String[] parDisp = new String[2];
   parDisp[0] = "pari";
   parDisp[1] = "dispari";
   String messNNLetto = "messNNLetto";

   String matricolaStudente = (request.getParameter("idStudente") == null) ? "" : request.getParameter("idStudente").trim();
   if(matricolaStudente.equals("")){
      response.sendRedirect("homeProf.jsp");
      return;
   }

   response.setHeader("Cache-Control", "no-cache");
   response.setHeader("Pragma", "no-cache");
   response.setDateHeader("Expires", 0);

   //Recupero l'oggetto professore dalla sessione
   Professore professoreSessione = (Professore) session.getAttribute("tmanager.professore");
   int idStudente = -1;

   try{
      idStudente = Integer.parseInt(matricolaStudente);
      session.setAttribute("tmanager.idStudente", idStudente);
   }catch(NumberFormatException e){
      idStudente = -1;
      session.setAttribute("tmanager.erroreTitolo", "Errore durante la ricerca dell'utente richiesto");
      session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, si è verificato un errore durante il recupero dei dati per la matricola: " + matricolaStudente + ". Provare ad effettuare l'operazione nuovamente.");
      response.sendRedirect("../errore.jsp");
      return;
   }
   
   //Recupero i dati relativi al tesista associato al professore, in funzione della matricola studente
   Studente tempStud = new Studente();
   try{
      tempStud = getStudenteFromDB(sqlDatiStudente, idStudente);
   }catch(SQLException e){
      session.setAttribute("tmanager.erroreTitolo", "Errore durante il recupero dati del Professore");
      session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, si è verificato un errore durante la connessione al database. La procedura di recupero dei dati relativi al professore non ha avuto successo. Riprovare in seguito.");
      response.sendRedirect("../errore.jsp");
      return;
   }

   //Recupero i messaggi inviati dal tesista al professore
   Vector<Messaggio> messRic = new Vector<Messaggio>();
   try{
      messRic = messaggiProdottiProfessore(messaggiRicevuti, professoreSessione, idStudente);
   }catch(SQLException e){
      session.setAttribute("tmanager.erroreTitolo", "Errore durante il recupero Messaggi condivisi con lo studente");
      session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, si è verificato un errore durante il recupero dei messaggi. Provare ad effettuare l'operazione nuovamente.");
      response.sendRedirect("../errore.jsp");
      return;
   }

   //Recupero i file condivisi tra professore e studente
   Vector<tmanager.File> files = new Vector<tmanager.File>();
   try{
      files = getFilesStudente(idStudente);
   }catch(SQLException e){
      session.setAttribute("tmanager.erroreTitolo", "Errore durante il recupero dati dello Studente");
      session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, si è verificato un errore durante la connessione al database. La procedura di recupero dei file condivisi dallo studente non ha avuto successo. Riprovare in seguito.");
      response.sendRedirect("../errore.jsp");
      return;
   }
%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Visualizza profilo studente</title>
        <link rel="stylesheet" type="text/css" href="../CSS/defaultStyle.css" />
    </head>
    <body>
        <%@include file="../WEB-INF/jspf/header.jspf" %>
        <script type="text/javascript">
          
            function inizializza(){
                $("#HriepilogoStud").addClass("paginaCorrente");
            };
            $(document).ready(inizializza);
        </script>
        <div id="corpo">
            <div id="corpoDx">
            <div class="menuRieplogo">
               <h3>Riepilogo Stato</h3>
                <dl>
                    <dt>Studente: </dt>
                    <dd><%= tempStud.getNome() + " " + tempStud.getCognome() %></dd>
                    <dt>Corso Tesi: </dt>
                    <dd><%= tempStud.getCorsoTesi()%></dd>
                    <dt>Stato Tesi: </dt>
                    <dd><%= tempStud.getStatoProgettoTesi()%></dd>
                    <dt>Titolo Tesi: </dt>
                    <dd><%= tempStud.getTitoloTesi()%></dd>
                    <dt>Tipologia Tesi: </dt>
                    <dd><%= tempStud.getTipologiaTesi() %></dd>
                    <dt>Tipologia Laurea: </dt>
                    <dd><%= tempStud.getTipoLaurea() %></dd>
                </dl>
            </div>
            </div>
                <div id="corpoSx">
            <div class="riepilogoMess">
                <h2>Riepilogo Messaggi Ricevuti:</h2>
                <div>
                    <table border="1">
                        <thead>
                            <tr class="titoli">
                                <th>Mittente</th>
                                <th>Destinatario</th>
                                <th>Oggetto</th>
                                <th>Data</th>
                                <th>Risposta Inviata</th>
                            </tr>
                        </thead>
                        <tbody>
                            <%
                               int numMess = Math.min(10, messRic.size());
                               if(numMess == 0){%>
                               <tr class="<%= parDisp[0]%>"><td colspan="6"><i>La casella messaggi è vuota!</i></td></tr>
                            <%}else{

                               for(int i = 0; i < numMess; i++){
                                  Messaggio mess = messRic.elementAt(i);
                            %>
                            <tr class="<%= parDisp[i % 2]%> <%= (!mess.getMessaggioLetto())? messNNLetto : "" %> " >
                                <td><%= mess.getMittente()%></td>
                                <td><%= mess.getDestinatario()%></td>
                                <td><a href="../Messaggio/visualizzaMessaggio.jsp?idMessaggio=<%= mess.getTime()%>"> <%= mess.getOggetto()%></a></td>
                                <td><%= Utility.formatData(mess.getTimestamp())%></td>
                                <td><input type="checkbox" disabled="disabled"<% if(mess.getRispostaInviata()){%>checked="checked"<%}%> /></td>
                            </tr>
                            <% }
                               }%>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class="riepilogoFile">
                <h2>Ultimi File condivisi:</h2>
                <div>
                    <table border="1">
                        <thead>
                            <tr class="titoli">
                                <th>Proprietario</th>
                                <th>Nome</th>
                                <th>Dimensione</th>
                                <th>Data</th>
                            </tr>
                        </thead>
                        <tbody>
                            <%
                               int numFiles = Math.min(10, files.size());
                               if(numFiles == 0){%>
                            <tr class="<%= parDisp[0]%>"><td colspan="6"><i>Non ci sono file condivisi!</i></td></tr>
                            <%}else{

                               for(int i = 0; i < numFiles; i++){
                                  tmanager.File file = files.elementAt(i);
                            %>
                            <tr class="<%= parDisp[i % 2]%>" >
                                <td><%= file.getProprietario()%></td>
                                <td><a href="../FileMng/fileDownload.jsp?idFile=<%= file.getTimestamp()%>"><img src="../Immagini/<%=file.getTipoFile()%>.png"/> <%= file.getNomeFile()%></a></td>
                                <td><%= Utility.formatSize(file.getSize())%></td>
                                <td><%= Utility.formatData(file.getTimestamp())%></td>
                            </tr>
                            <% }
                   }%>
                        </tbody>
                    </table>
                </div>
            </div>
                </div>
        </div>
        <hr />
        <%@include file="../WEB-INF/jspf/footer.jspf" %>
    </body>
</html>
